package com.briup.ch08;

import java.util.ArrayList;
import java.util.Collection;

/**
 * @Author briup-adam
 * @Date 2023/10/17 下午5:29
 * @Description 泛型案例
 **/

public class GenericDemo {
//    void  methodA(Collection<Integer> c){
//
//    }
//    void  methodB(Collection<String> c){
//
//    }
//    void  methodC(Collection<Object> c){
//
//    }
    void method(Collection<?> c){
//        这种情况 集合不能添加某一类型的元素
        c.add(null);
//        但是可以遍历
        for (Object o : c) {
            System.out.println(o);
        }

    }

    void  methodE(Collection<? extends Number> c){

    }
//    下限
    void  methodF(Collection<? super Integer> c){

    }

    public static void main(String[] args) {
        GenericDemo demo = new GenericDemo();
        Collection c=new ArrayList();
        demo.method(c);
        //Collection<Integer> c=new ArrayList<>();
        demo.method(new ArrayList<>());
        demo.method(new ArrayList<Integer>());
        demo.methodE(new ArrayList<Integer>());
        demo.methodE(new ArrayList<Double>());
        demo.methodE(new ArrayList<Number>());
//        demo.methodE(new ArrayList<Object>());
        demo.methodF(new ArrayList<Object>());
        demo.methodF(new ArrayList<Integer>());
        demo.methodF(new ArrayList<Number>());
//        demo.methodF(new ArrayList<String>());
    }
}
